package org.ws.task.item;

import org.ws.task.model.protocol.PushItemResponse;
import org.ws.task.model.TaskItem;

import java.util.Collection;
import java.util.function.Consumer;

public interface PushTask<T> extends Task{

    /**
     * 同步推送
     * @param items
     */
    PushItemResponse pushSync(Collection<TaskItem<T>> items, long timeout);

    /**
     * 异步推送
     * @param items
     */
    void pushAsync(Collection<TaskItem<T>> items,long timeout, Consumer<PushItemResponse> callback);

}
